package com.atguigu.one.app.dws.play;

import com.alibaba.fastjson.JSONObject;
import com.atguigu.one.utils.DruidDSUtil;
import com.atguigu.one.utils.JdbcUtil;
import com.atguigu.one.utils.MyKafkaUtil;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

import java.sql.SQLException;
import java.util.List;

/**
 * 指标需求：
 *   统计周期	统计粒度	  指标	      说明
 *   当日	    章节	   视频播放次数	播放日志生成规则为：每过30s或关闭视频生成一条，从打开视频到关掉视频视为一次播放
 *   当日	    章节	   累计播放时长	略
 *   当日	    章节    观看人数	    略
 *   当日	    章节	   人均观看时长	累计播放时长/观看人数
 *
 * dwd表需要字段：
 *  video_info：id、video_name、during_sec（总时长）、version_id
 *  user_chapter_process：position_sec（时长位置）、chapter_id、user_id、id
 *
 *  dim字段：
 *  video_info
 *  dim_video_info
 *  id,video_name,during_sec,video_status,video_size,video_url,video_source_id,version_id,chapter_id,course_id,publisher_id,create_time,update_time,deleted id
 *  SALT_BUCKETS = 4
 * @Auther: liuYiZhao
 * @Date: 2022-08-22  10:30
 */
public class DwsPlay {
    private static  String topic = "dws_play";

    private static  String groupId = "dws_play_group";

    public static void main(String[] args) throws Exception {
        //TODO 1.获取执行环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);

        //TODO 2.读取Kafka页面主题数据创建流
        DataStreamSource<String> kafkaDS = env.addSource(MyKafkaUtil.getFlinkKafkaConsumer(topic, groupId));

        List<JSONObject> queryList = JdbcUtil.queryList(
                DruidDSUtil.createDataSource().getConnection(),
                "select * from GMALL220212_REALTIME.DIM_BASE_TRADEMARK where id='13'",
                JSONObject.class,
                true);


    }
}
